Bluetooth technology provides a low-power, low-cost, short-range wireless communication solution operating in the 2.4 GHz ISM band. Small portable devices designed to operate with Bluetooth technology are able to connect to each other and communicate in an ad-hoc fashion with nominal speeds of up to 1 Mbps.
Every Bluetooth device has a unique device address. A set of communicating Bluetooth devices form a group called a piconet, which has one device operating as a master and up to seven devices actively functioning as slaves at any given time. Each of these seven slaves has an address allocated by the master called the active address. Slaves that are active in a piconet (i.e., capable of engaging in a session with the master) are assigned a 3-bit temporary address called an active address. Because the address 000 is not used for slaves, at most seven slaves can be active at any given time; other slaves must be in the park mode. As Bluetooth prices drop and the technology becomes widely deployed this constraint on active addresses will become a limitation in some situations.
A master can communicate with any slave in its piconet, but slaves can communicate directly only with the master. Multiple piconets can exist collocated in space. Two or more piconets, which overlap partially in space and in time, are said to constitute a scatternet.
A mobile device that is functioning as a slave in one piconet might move to another piconet on account of its mobility. Such a device in order to join an existing piconet (with itself as the slave) has to potentially go through two consecutive phases namely that of inquiry and paging. During inquiry the master transmits a series of inquiry packets, in response to which the (potential) slaves reply with a Frequency Hop Synchronization (FHS) packet that contains the information necessary for the master to initiate a connection with the slave. The slave device is also capable of listening to only inquiry packets with special access codes so as to allow it to connect only to a special class of devices, i.e., the devices which act as the master once the piconet is formed.
During the paging phase the master sends to the potential slaves its own FHS packet, containing the address and the clock information of the master. A device that just desires to join an already existing piconet as a slave simply listens for the inquiry and paging packets from the master of the piconet and responds appropriately. Both these states can take as long as 10 seconds to complete. The current practice is for every device that wants to join or form a new piconet to take initiative on its own to do so.
Bluetooth does not allow slaves within a piconet to talk directly to each other; they must either set up a second piconet (with one of them as the master) or communicate in the existing piconet by relaying packets via the master. The former can be very time consuming, taking over 10 seconds if both the inquiry and paging phases are required. The latter wastes piconet bandwidth, causing other slaves to suffer, consumes resources at the master, and causes unnecessary delay.
Bluetooth permits a slave to migrate from one piconet to another. However, when it does so, it might need to carry out the Inquiry and Paging steps, in order to synchronize with and join the master in the new piconet. But this process can take a very long duration (approximately about 10 seconds). Thus, this approach does not lead to seamless handoffs.